跳到主要内容

3.21 SATA接口测试

  在某些情况下,eMMC存储容量远远不够用时,用户需要扩展存储空间,一种低成本扩大存储容量就是外接硬盘了。

  开发板SATA接口如下图位置。

  若你有接MIPI屏幕,需要将屏幕卸下,接口位于屏幕下面。请将SATA接口硬盘用SATA电源接口线与SATA数据接口线接上(SATA数据线与电源线属于非开发板配件,请自行配备),可热插拨,但是为了保护你的硬盘,建议先断电再插上,然后再开机。

  开机后使用df指令查看硬盘是否已经挂载了。

df

  可以看到下图,SATA硬盘会挂载在/media/目录下。比如笔者这个SATA硬盘挂载的目录为/media/usdisk0。

3.21.1 将硬盘分区

  使用fdisk指令查看硬盘的节点。

fdisk -l			// “-l”是-L,不是数字“1”。

  从上图可知,SATA挂载的节点为/dev/sda,现在开始格式化这个硬盘。如果你的硬盘已经有至少两个分区,那么就会有sda1和sda2。sda与sda1是什么区别?sda是硬盘的节点,sda是硬盘的第一个分区。笔者这个硬盘有两个分区,若还有其他分区则有sda3、sda4等等,依次类推。

  因为笔者的这个盘已经是“vfat”格式了,说明可以被Linux识别并挂载,已经挂载的硬盘需要卸载才能被格式化。

  所以笔者要卸载上面挂载的硬盘,如果你的硬盘未被挂载就不需要卸载了。

  卸载硬盘,执行下面的指令。

umount /dev/sda*

  现在我们将这个sda进行分区,执行下面指令。

fdisk /dev/sda

  然后可以输入‘m’来查看使用帮助。

  常用的选项如下:
  -l:列出所有磁盘的分区表信息;
  -n:创建新分区;
  -d:删除分区;
  -t:修改分区的类型;
  -p:打印分区表;
  -u:以扇区为单位而非柱面为单位来显示和操作分区表;
  -m:使用 DOS 兼容的模式。
  -w:保存修改

  我们输入‘n’,创建一个新分区,然后输入‘p’回车,因为我们这个硬盘分区表格式为MBR格式,支持最大的主分区个数为4个,若输入e的意思是拓展分区可以,可以是无数个逻辑分区。默认起始扇区是63,本次将第一个分区设置大小为1GB。

  现在我们来分第二个分区,也是分做主分区。如下图步骤。这一次我们将起始位置默认为“2097215”了。因为这个位置刚好是前一个分区的末端。最后一个扇区作为终止位置,也就是说硬盘最大容量减去1GB的大小作为第二个扇区。最后不要忘记输入‘w’来保存修改,否则无法生效。当然你继续分区,根据你自己的需要,主分区只能分4个,扩展分区可以无数多个,之后再保存修改就可以了。

  好了,我们分区完成了,现在需要查看分区是否成功。可以看到下图有两个分区,sda1与sda2说明分区成功。

ls /dev/sda*

3.21.2 格式化分区

  将硬盘分区之后,需要进行格式化。现在我们开始对sda分区进行格式化。使用的是vfat格式,vfat格式是fat格式的扩展,这里你可以选择ext4格式,但是这种格式在Windows下不能被识别。

  当然你可以格式化为ntfs格式,文件系统已经支持。注意不是所有的Linux文件系统都支持NTFS,虽然能支持挂载NTFS的文件系统类型,但是在Linux内核上是不支持NTFS格式的。简单来说,能支持NTFS是软件层适配的,不是内核层!

mkfs.ntfs /dev/sda1 -Q // 快速格式化为NTFS格式
mkfs.vfat /dev/sda1
mkfs.ext4 /dev/sda1

  本次将格式化为vfat格式。这样Windows可以访问,Linux也可以识别。格式化前面分的两个主分区,若你分了多个区,道理也是一样。

mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda2

  格式化完成了重启开发板。重启之后,硬盘已经自动挂载到/media/udisk*下。再次输入df指令,可以看到两个分区都已经成功挂载了。

df

  使用blkid指令查看分区硬盘格式,可以看到为“vfat”格式。注意,如果格式为“ntfs”格式,这里是看不到的,因为Linux识别不了这一种类型。

blkid